home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip: Internet
/
Chip Internet.iso
/
viewer
/
emtex.ins
/
dvineclq
/
dviproc.zoo
/
pctex
/
dvinec.doc
< prev
next >
Wrap
Text File
|
1990-04-13
|
14KB
|
326 lines
DVINEC, (DVINECLQ) und DVILQ360
===============================
TeX82-DVI-Treiber für Ausgabe von DVI-Files auf einem NEC P6+ (DVINEC)
Epson LQ-850/neu Version (DVILQ360) (oder kompatiblen) Drucker
in der Auflösung 360 x 360 dots pro inch.
Diese Treiber basieren auf der Treiber-Familie von Dr. Nelson H.F. Beebe
(University of Utah), so daß im wesentlichen das Manual zu dieser
Treiberfamilie (Titel: DVIxxx - Display TeX DVI Files on Assorted
Output Devices) auch für DVINEC/DVILQ360/DVINECLQ Gültigkeit hat.
--------- ----------- ------------
(1)
Dr. Fuyun Ling (Boston) entwickelte aus DVITOS den Treiber DVINECLQ
für TURBO-C in einer Auflösung von 360 x 180 dpi
unter folgenden Gesichtspunkten:
Die für eine Seite von 8 x 11 inch benötigte Bitmap passt bei einer
Auflösung von 360 x 180 nicht mehr in das Memory eines PC (die Bitmap ist
720 KByte groß <=> 45 pages à 16 KB), so daß sie ins EMS ausgelagert
werden muß und der Treiber jeweils nur vier Windows von 16 KByte
im Hauptspeicher verwaltet. Wenn kein (oder zuwenig) EMS-Speicher
zur Verfügung steht, wird die Bitmap auf eine Plattendatei
im aktuellen Directory geschrieben (dies dauert natürlich entsprechend
länger).
Die Beebe-Treiber geben die jeweilige Drucker-spezifische Information
wiederum in eine Datei aus, die einen gerätespezifischen Suffix
erhält (z. B.: DVITOS liest aus *.DVI und schreibt in *.TOS).
Da dieses aber bei der gewünschten Auflösung sofort zu riesigen
Dateien führen würde (z. B. würde ein 10seitiger Text bei 360x180dpi
mehr als 5 MByte belegen) wird die Ausgabe von DVINECLQ
direkt auf die erste parallele Schnittstelle (also LPT1: bzw. PRN:)
gegeben.
DVINECLQ ist auch auf EPSON LQ (und kompatiblen) Druckern einzusetzen,
die vertikal nur 1/180 inch positionieren können.
--------- ----------- ------------
(2)
DVINEC wurde aus DVINECLQ unter Microsoft C 5.0 weiterentwickelt,
unter Beibehaltung der Speicherplatzverwaltung von DVINECLQ (die
Bitmap benötigt jetzt jedoch 1.375 MByte <=> 88 Seiten à 16 KB,
die Seitengröße beträgt 8 x 10.875 inch), auch geht die Ausgabe weiterhin
direkt auf LPT1:. In der Version 2.10.12t (ab Jan. 1990) druckt
DVINEC eine Papierzeile viermal im 180dpi-Modus mit jeweils
1/360inch horizontalem, 1/360inch vertikalem und
1/360inch horizontalem und vertikalem Versatz und erreicht
somit echte 360*360dpi (frühere Versionen drucken
eine Papierzeile zweimal im 360dpi-Horizontal-Modus, wobei jedoch
der NEC P6 [wie alle mir bekannten Kompatiblen] nicht in der Lage
ist, zwei nebeneinanderliegende Pixel zu schwärzen, so daß
jedes zweite zu druckende Pixel ausgelassen wird.)
Auch DVINECLQ wurde geringfügig modifiziert unter Microsoft C 5.0
neu compiliert.
Ab Version 2.10.12t (Jan. 1990 oder später) druckt DVINECLQ jede
Papierzeile zweimal im 180dpi-Modus mit 1/360inch horizontalem
Versatz (Begründung: wie bei DVINEC).
DVILQ360 ist im wesentlichen mit DVINEC identisch, nur die Befehlsfolgen
für n/360 inch Linefeed wurden entsprechend angepaßt.
--------- ----------- ------------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Empfehlenswert für den Einsatz dieser Treiber sind spezielle (!)
NEC-P6-Fonts in 360dpi (also keine Laserdrucker-Fonts in \magstep1),
bei denen berücksichtigt ist, daß der Drucker zwar 1/360inch
positioniert, jedoch ein Nadel-Anschlag einen Durchmesser von 0.2mm
(1/120inch) hat, und somit immer rundherum ein Pixel mehr schwärzt,
als beabsichtigt ist.
Laserdrucker-Fonts in \magstep1 sind zwar einsatzfähig, hinterlassen
jedoch ein erheblich zu fettes Schriftbild.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
--------- ----------- ------------
Für die Nutzung von Expanded Memory werden keine höheren EMS-Funktionen
von LIM-EMS V4.0 verwandt, so daß das Expanded Memory mit einem
EMS-Treiber nach dem LIM-EMS-Standard 3.2 (oder später) genutzt werden kann.
--------- ----------- ------------
SYNTAX:
DVINEC [-a] [-b] [-c#] [-d#] [-eENVNAME=value] [-f"fontsubfile"]
[-l] [-m#] [-o#:] [-o#:#:] [-o#:#:#] [-p] [-u#]
[-x#units] [-y#units] dvifiles(s)
im kürzesten Fall also:
DVINEC test
bearbeitet die Datei test.dvi aus dem aktuellen Directory.
--------- ----------- ------------
OPTIONALE PARAMETER:
Bei den Kennbuchstaben für Parameter ist es egal, ob sie groß oder klein
geschrieben werden (-a und -A sind also gleich bedeutend)
-a Aktiviert "virtual font caching", benötigt aber viel Speicher.
-d64 gibt dann Informationen darüber aus.
-b (backwards) Druckt die Seiten von hinten nach vorn.
-c# (copies) Druckt # Kopien der auszugebenden Seiten (jedoch in
DVINEC/DVILQ360/DVINECLQ unwirksam)
-d# (debugging) Gibt Ablauf-Informationen auf dem Bildschirm
aus. # ist eine der folgenden Dezimalzahlen oder die
Summe von mehreren. (Es können auch mehrere -d# angegeben
werden) Genaue Erläuterung siehe Beebe-Manual.
Beispiel: -d8 gibt Namen und Zugriffsart für jede
erfolgreich geöffnete Datei aus
-d16 gibt Namen und Zugriffsart für jeden
fehlgeschlagenen Versuch, eine Datei zu öffnen.
-d8 -d16 macht beides
-d24 macht auch beides
-eENVNAME=value
Definiert den Wert einer Environment Variablen
Zulässige Werte für ENVNAME sind: DVIHELP
FONTLIST
TEXFONTS
TEXINPUTS
Diese Variablen können auch durch vorherige Benutzung
des DOS-Kommandos 'SET' belegt werden (geeigneter Weise
in einem BAT-File)
Voreinstellungen: DVIHELP=type d:\tex\dvi.hlp
FONTLIST=PK-GF-PXL
TEXFONTS=d:\tex\fonts\
TEXINPUTS=d:\tex\inputs\
Die Variablen für TEXFONTS und TEXINPUTS müssen gesetzt werden:
auf DOS-Ebene beispielsweise
SET TEXFONTS=C:\PCTEX\PIXEL\DPI
SET TEXINPUTS=C:\PCTEX\
oder in der Kommandozeile beispielsweise
-eTEXFONTS=c:\pctex\pixel\dpi -eFONTLIST=PK
-f"fontsubfile"
Definiert eine Datei, in der Font-Substitutionen
beschrieben sind. (Nötig, wenn nicht alle Pixel-Files vorhanden
sind, aber von einer DVI-Quelle angesprochen werden)
Voreingestellt werden die benachbarten Größen durchgesucht,
bis sich der gewünschte Font in der nächstmöglichen
Vergrößerung findet oder 100 Pixel-Datei-Öffnungen erfolglos
sind.
Beispiel:
-fC:\PCTEX\TEXFONTS.SUB
Näheres wie ein subfile auszusehen hat, siehe Beebe-Manual.
-l Unterdrückt "logging".
-m# (magnification) Verändert den Vergrößerungsmaßstab.
Nach TeX-Konvention entspricht die magnification 1000
einer 1:1-Darstellung auf einem 200dpi-Ausgabe-Medium.
Da DVINEC/DVILQ360/DVINECLQ 360 dpi verarbeiten, ist hier die
magnification auf 1800 für 1:1-Ausgabe voreingestellt.
Zulässige Eingabewerte für -m liegen im Bereich
int( (1000 oder 1440 oder 1500) * 1.2**(k/2) ) (k=-16...16);
also z.B. 833, 1000, 1800, 2160 etc.
Werte unterhalb 25 werden wie ein \magstep-Parameter
verarbeitet:
-m1 wählt z. B. bei DVINEC/DVILQ360/DVINECLQ die magnification 2160
-m2160 tut das gleiche.
-o#: oder -o#:#: oder -o#:#:#
(output) Spezifiziert eine oder mehrere auszugebende Seiten.
Beispiele:
-o1: gibt die erste Seite aus der DVI-Datei aus
-o1:5: gibt die ersten fünf Seiten aus der DVI-Datei aus.
-o10:30:2 gibt jede zweite Seite aus, beginnend bei der
zehnten Seite ind der DVI-Datei, endend mit der
dreissigsten Seite in der DVI-Datei.
Für den ersten und zweiten Parameter von -o sind auch
negative Werte erlaubt, dann wird von hinten gezählt:
-o-1: gibt die letzte Seite aus
-o-5:-1: gibt die letzten fünf Seiten aus
Wichtig ist bei DVINEC/DVILQ360/DVINECLQ,
wenn nicht alle drei Werte angegeben
werden, der abschließende Doppelpunkt (dies sollte nicht so
sein, ist aber durch einen Bug im Microsoft-C notwendig).
Voreistellung ist -o1:32767:1
Näheres im Beebe-Manual.
-p Unterdrückt das Preloading der Fonts. Bei Ausgabe der
DVI-Datei von der ersten Seite an kann es vielleicht ein bißchen
beschleunigen, hat bei größeren DVI-Dateien aber nur
einen vernachlässigbaren Effekt.
Wenn Seiten mit -o ausgewählt werden, darf -p nicht(!)
angegeben werden, da sonst Fonts möglicherweise nicht
definiert sind, wenn sie gebraucht werden.
(-r) bedeutet "run-length-encoding" und sollte den Byte-Umfang des
Outputs verringern (notwendig nur bei Output auf Plattendatei),
bewirkt bei DVINEC/DVILQ360/DVINECLQ also nichts und
steht nur noch als DUMMY.
-u# (unidirectional) Bewirkt beim NEC P6 die Ein- bzw. Ausschaltung
des unidirectionalen Drucks.
Wenn -u0 gegeben wird, dann wird in beiden Laufrichtungen
des Druckkopfes gedruckt,
wenn -u1 gegeben wird, wird nur von links nach rechts gedruckt.
Voreinstellung ist -u1 .
Ab Jan. 1990 (Version 2.10.12t) ist -u0 voreingestellt.
-x#units
Horizontaler Offset (in x-Richtung von links nach rechts) in
definierten Einheiten auf der Seite.
-x1.0in, -x2.54cm, -x72.27pt, -x6.0225pc kennzeichnen
alle gleichermaßen einen Rand von 1 inch.
Voreinstellung ist 1 inch. Weiteres siehe Beebe-Manual.
-y#units
Vertikaler Offset (in y-Richtung von oben nach unten) in
definierten Einheiten auf der Seite.
Eingabe wie -x#units
--------- ----------- ------------
Wichtig Wichtig Wichtig Wichtig Wichtig Wichtig Wichtig Wichtig Wichtig Wichtig
------- ------- ------- ------- ------- ------- ------- ------- ------- -------
Da LPT1: direkt über den BIOS-Interrupt angesprochen wird, wird nicht geprüft,
ob ein Drucker angeschlossen ist, oder ob er On-Line ist. D.h. jeder muß
selbst dafür sorgen, daß der Drucker eingeschaltet und bereit ist, da es
keine DOS-Fehlermeldung gibt, wenn nicht.
Weiter muß natürlich auch sichergestellt sein, wenn kein (oder zuwenig)
EMS vorhanden ist, daß auf der aktuell benutzten Festplatte genug
Speicherplatz zur Verfügung steht (1.375 MByte für DVINEC/DVILQ360,
720 KByte für DVINECLQ); ich habe nicht ausprobiert, was passiert, wenn
zuwenig Platz auf der Platte ist (auf jeden Fall gibt es keine Warnung, und
wahrscheinlich passiert irgendein Mist).
Wenn DVINEC/DVILQ360/DVINECLQ mit CTRL-BREAK oder ähnlich abgebrochen wird
und nicht normal beendet wird, sollte man bei Benutzung von EMS den Rechner
anschließend neu booten, um das EMS wieder freizugeben, bzw. bei Benutzung
der Festplatte für die Bitmap sollte man die Datei BMAP.TMP im aktuellen
Directory löschen, sowie CHKDSK /F benutzen, um eventuell liegengebliebene
Cluster ohne Zuordnung auf der Platte wieder freizugeben.
------- ------- ------- ------- ------- ------- ------- ------- ------- -------
Wichtig Wichtig Wichtig Wichtig Wichtig Wichtig Wichtig Wichtig Wichtig Wichtig
---------- ------------- --------------
DVINEC, DVILQ360 und DVINECLQ wurden auf einem PC/AT-Clone unter
MS-DOS 3.30 mit Microsoft C 5.0 übersetzt.
Wenn kein num. Coprozessor (8087, 80287, 80387) im Rechner vorhanden
ist, oder ein vorhandener nicht benutzt werden soll, dann ist die
Environment-Variable NO87 vorher mit einem (beliebigen) Text zu belegen.
Beispiel:
SET NO87=no-80x87-available
Dieser Text wird bei Programmstart auf dem Monitor ausgegeben und der
Coprozessor wird nicht angesprochen.
Da DVINEC/DVILQ360/DVINECLQ kaum "floating point arithmetic" durchführt, ist die
Rechenzeitdifferenz mit/ohne Coprozessor auf einem AT zu vernachlässigen,
auf einem XT kann sich das Fehlen eines Coprozessors jedoch deutlich
bemerkbar machen.
------------ ------------- ---------------
Es wird (logischerweise) keine Garantie für Fehler und keine
Haftung für Schäden bei Einsatz dieser Programme übernommen.
Mir sind bisher keine Fehler bekannt.
Sollten trotzdem welche auftauchen, oder bei sonstigen Informationen
oder Fragen bin ich erreichbar unter:
Stefan A. Mühlenweg
Institut für Meereskunde
der Universität Hamburg
Troplowitzstr. 7
2000 Hamburg 54
Tel.: 040/4123-2996
E-Mail: me50090@dhhuni4.bitnet
--------- ----------- ------------
Viel Spaß beim Benutzen.
Stefan A. Mühlenweg Hamburg, 22. 2.1990